With the continued growth and specialization of various software applications for both business and residential users, software original equipment manufacturers (OEMs) and secondary value added providers (VAPs) have begun selectively combining these applications into suites. The selection of the particular applications to include in a suite is made based on certain synergies desired to be achieved for a particular customer or group of customers. In this way a business customer, for example, may purchase a single suite that provides all of the applications to allow complete productivity for all of the functions that are normally performed in the business environment. This selection and grouping process by the OEMs and/or the VAPs greatly simplifies the decision process at the user level, and typically allows for a common user experience across applications since typically all applications will be from a particular OEM.
Another advantage provided by a suite of applications exists at the system administration level. Unlike the requirement of having to separately install and setup each individual application, entering the same user information over and over for each application, the installation of a suite is much more integrated. Most suites employ an installation wizard of some sort that installs and sets up all of the applications within the suite at one time. While this presents a distinct advantage over the individual application installation and setup, the structure of modern suites present problems for current installation processes.
A custom user interface (UI) is used in almost all current setup applications that are used in the market. The most common model for a setup UI at this time is the setup “wizard.” A wizard is a sequence of pages that help a user complete a set of tasks by establishing the flow of the setup in a single-page sequence, accessible only by the “Back” and “Next” buttons. While the typical configuration of the wizard provides the basis for an installation, it does not meet the needs of every application that exists.
A typical sequence of pages for a wizard is to first display a Welcome Page, followed by a page displaying the End User License Agreement (EULA). Next, the wizard typically begins to collect information from the user by displaying a Name/Organization page. To enable the installation configuration, the wizard next typically displays a Selection of Install Type (Minimal/Typical/Custom or Client/Server) page to enable the user to decide what type of installation he or she desires. This selection process may be furthered by the display of a Selection of Install Components/Features screen. Depending on the particular components selected for install, the wizard may need to display a screen asking specific questions regarding the selection components. Once the required information has been gathered and the installation initiated, the wizard typically displays a Progress of Installation screen to keep the user apprised of the installation progress. Finally, the wizard displays a Finish screen once the installation process has been completed.
Some setup applications allow a setup owner to modify templatized pages, while others allow outright replacing of some specific pages. However, the component selection and specific component related pages are hard to override due to the complex nature of how these concepts are handled in other setup technologies. Further, other setup applications require several steps to setup the UI within an application, and in some cases require copying all of the UI code from one suite into another. This results in poor portability of customized setup, and increases the time required and chance of error in the process. If the re-ordering of the pages were desired, prior systems required that a significant amount of code would either have to be changed or rewritten to work with the new ordering or pages. Also a lot of testing would be needed to make sure that no code was relying on another execution path being run before. Further, since the core execution was so tightly tied in with the UI, complete replacement of the UI would require a major code change and could not conceivably be done.
There, therefore, exists a need in the art to overcome these and other problems existing with the current state of suite installation programs.